package com.cloud.wms.ui.main.contract;


import com.cloud.core.base.BasePresenter;
import com.cloud.core.base.BaseView;
import com.cloud.wms.entity.UpdateInfoBean;
import com.cloud.wms.ui.main.entity.RemoteLoginEntity;
import com.cloud.wms.ui.main.entity.UserEntity;
import com.tbruyelle.rxpermissions2.RxPermissions;

import java.util.ArrayList;

/**
 * @Author:Chen
 * @Date: 2021-01-14 15:49
 * @Description:
 */
public interface LoginContract {
    interface View extends BaseView {
        void showPermissionDialog();

        void setPermissionState(boolean permissionState);

        void jumpToBase(RemoteLoginEntity info);

        void downLoadSuccess(String realPath);

        void downLoadFailure(Throwable throwable);

        void showUpdateDialog(UpdateInfoBean.VerBean verBean);
    }

    interface Presenter extends BasePresenter<View> {
        void checkPermission(RxPermissions rxPermissions);

        void getPermission(RxPermissions rxPermissions);

        ArrayList<String> loadAccountRecord();

        void loginServer(String account, String pwd);

        void downloadApk(String downloadUrl, String realPath);

        void getVersion();
    }
}
